\hypertarget{_algebra_8cpp}{\section{C\-:/\-Users/\-Owner/\-My Programming/\-Personal Projects/\-Video\-Games/\-Optimist Racing/src/\-Algebra.cpp File Reference}
\label{_algebra_8cpp}\index{C\-:/\-Users/\-Owner/\-My Programming/\-Personal Projects/\-Video\-Games/\-Optimist Racing/src/\-Algebra.\-cpp@{C\-:/\-Users/\-Owner/\-My Programming/\-Personal Projects/\-Video\-Games/\-Optimist Racing/src/\-Algebra.\-cpp}}
}
{\ttfamily \#include \char`\"{}Algebra.\-hpp\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_vector2_d}{Vector2\-D} \hyperlink{_algebra_8cpp_ab6d6169dc4d79c3e9ab1dcfefa81abd4}{operator$\ast$} (double s, const \hyperlink{class_vector2_d}{Vector2\-D} \&v)
\item 
\hyperlink{class_vector2_d}{Vector2\-D} \hyperlink{_algebra_8cpp_aa025c19d4e3859ac5cdcdf7301fb31b0}{operator+} (const \hyperlink{class_vector2_d}{Vector2\-D} \&a, const \hyperlink{class_vector2_d}{Vector2\-D} \&b)
\item 
\hyperlink{class_vector2_d}{Vector2\-D} \hyperlink{_algebra_8cpp_ac638052636e6afad1ec34e1bc40610bd}{operator-\/} (const \hyperlink{class_vector2_d}{Vector2\-D} \&a, const \hyperlink{class_vector2_d}{Vector2\-D} \&b)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_a82bff392cd419d7f246dfaeb5574ea61}{operator$\ast$} (double s, const \hyperlink{class_vector3_d}{Vector3\-D} \&v)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_a39bfe21a2d1ab6984ded35b5355b202e}{operator+} (const \hyperlink{class_vector3_d}{Vector3\-D} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_a7ee82807781e470db564c4db6e9de245}{operator-\/} (const \hyperlink{class_vector3_d}{Vector3\-D} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_vector_n_d}{Vector\-N\-D} \hyperlink{_algebra_8cpp_a490c25226403a8aa8c62a29504454fd5}{operator$\ast$} (double s, const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&v)
\item 
\hyperlink{class_vector_n_d}{Vector\-N\-D} \hyperlink{_algebra_8cpp_a40ee5b96e650d2dd80c30bd8be09238c}{operator+} (const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&a, const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&b)
\item 
\hyperlink{class_vector_n_d}{Vector\-N\-D} \hyperlink{_algebra_8cpp_add99f25ed7d4a24a997980bba67ddb1c}{operator-\/} (const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&a, const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&b)
\item 
double \hyperlink{_algebra_8cpp_a17091164dc9b9b93b9d2aafef875dce1}{dot} (const \hyperlink{class_vector2_d}{Vector2\-D} \&a, const \hyperlink{class_vector2_d}{Vector2\-D} \&b)
\item 
double \hyperlink{_algebra_8cpp_a3a8eedd62effe545cfcb0e98651c45e0}{dot} (const \hyperlink{class_vector3_d}{Vector3\-D} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_a098c65b80ec865f21eb305b289a9458f}{cross} (const \hyperlink{class_vector3_d}{Vector3\-D} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_matrix2x2}{Matrix2x2} \hyperlink{_algebra_8cpp_a73470dc0e3796ec642f4767bcdd847c6}{operator$\ast$} (const \hyperlink{class_matrix2x2}{Matrix2x2} \&a, const \hyperlink{class_matrix2x2}{Matrix2x2} \&b)
\item 
\hyperlink{class_vector2_d}{Vector2\-D} \hyperlink{_algebra_8cpp_a8d9716d4d0eb7a3f4d9d5ba84552372e}{operator$\ast$} (const \hyperlink{class_matrix2x2}{Matrix2x2} \&a, const \hyperlink{class_vector2_d}{Vector2\-D} \&b)
\item 
\hyperlink{class_vector2_d}{Vector2\-D} \hyperlink{_algebra_8cpp_a8b3ccbbaee2c1326fdf11e543ea759a1}{matrix\-Solve} (const \hyperlink{class_matrix2x2}{Matrix2x2} \&a, const \hyperlink{class_vector2_d}{Vector2\-D} \&b)
\item 
\hyperlink{class_matrix3x3}{Matrix3x3} \hyperlink{_algebra_8cpp_ac5f5320b246b6fd073afce2e66f3e9a3}{operator$\ast$} (const \hyperlink{class_matrix3x3}{Matrix3x3} \&a, const \hyperlink{class_matrix3x3}{Matrix3x3} \&b)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_ab164aa4da4ac121cb11231416ebd00b9}{operator$\ast$} (const \hyperlink{class_matrix3x3}{Matrix3x3} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_vector3_d}{Vector3\-D} \hyperlink{_algebra_8cpp_ab3bb244b788a3e6ea44086a6eb93eb18}{matrix\-Solve} (const \hyperlink{class_matrix3x3}{Matrix3x3} \&a, const \hyperlink{class_vector3_d}{Vector3\-D} \&b)
\item 
\hyperlink{class_vector_n_d}{Vector\-N\-D} \hyperlink{_algebra_8cpp_a66bdaf4d1439d9f4423fc4f620cfb494}{operator$\ast$} (const \hyperlink{class_matrix_mx_n}{Matrix\-Mx\-N} \&a, const \hyperlink{class_vector_n_d}{Vector\-N\-D} \&b)
\item 
\hyperlink{class_matrix_mx_n}{Matrix\-Mx\-N} \hyperlink{_algebra_8cpp_a09c94e7fa49cf14ab5dbba439be8d9a0}{operator$\ast$} (double s, const \hyperlink{class_matrix_mx_n}{Matrix\-Mx\-N} \&A)
\item 
double \hyperlink{_algebra_8cpp_a1cd9cc3823a5dfd883a9be42d1904155}{dot} (const \hyperlink{class_matrix_mx_n}{Matrix\-Mx\-N} \&A, const \hyperlink{class_matrix_mx_n}{Matrix\-Mx\-N} \&B)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{_algebra_8cpp_a098c65b80ec865f21eb305b289a9458f}{\index{Algebra.\-cpp@{Algebra.\-cpp}!cross@{cross}}
\index{cross@{cross}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} cross (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a098c65b80ec865f21eb305b289a9458f}
\hypertarget{_algebra_8cpp_a17091164dc9b9b93b9d2aafef875dce1}{\index{Algebra.\-cpp@{Algebra.\-cpp}!dot@{dot}}
\index{dot@{dot}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}double dot (
\begin{DoxyParamCaption}
\item[{const {\bf Vector2\-D} \&}]{a, }
\item[{const {\bf Vector2\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a17091164dc9b9b93b9d2aafef875dce1}
\hypertarget{_algebra_8cpp_a3a8eedd62effe545cfcb0e98651c45e0}{\index{Algebra.\-cpp@{Algebra.\-cpp}!dot@{dot}}
\index{dot@{dot}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}double dot (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a3a8eedd62effe545cfcb0e98651c45e0}
\hypertarget{_algebra_8cpp_a1cd9cc3823a5dfd883a9be42d1904155}{\index{Algebra.\-cpp@{Algebra.\-cpp}!dot@{dot}}
\index{dot@{dot}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}double dot (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix\-Mx\-N} \&}]{A, }
\item[{const {\bf Matrix\-Mx\-N} \&}]{B}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a1cd9cc3823a5dfd883a9be42d1904155}
\hypertarget{_algebra_8cpp_a8b3ccbbaee2c1326fdf11e543ea759a1}{\index{Algebra.\-cpp@{Algebra.\-cpp}!matrix\-Solve@{matrix\-Solve}}
\index{matrix\-Solve@{matrix\-Solve}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{matrix\-Solve}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector2\-D} matrix\-Solve (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix2x2} \&}]{a, }
\item[{const {\bf Vector2\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a8b3ccbbaee2c1326fdf11e543ea759a1}
\hypertarget{_algebra_8cpp_ab3bb244b788a3e6ea44086a6eb93eb18}{\index{Algebra.\-cpp@{Algebra.\-cpp}!matrix\-Solve@{matrix\-Solve}}
\index{matrix\-Solve@{matrix\-Solve}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{matrix\-Solve}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} matrix\-Solve (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix3x3} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_ab3bb244b788a3e6ea44086a6eb93eb18}
\hypertarget{_algebra_8cpp_ab6d6169dc4d79c3e9ab1dcfefa81abd4}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector2\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{double}]{s, }
\item[{const {\bf Vector2\-D} \&}]{v}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_ab6d6169dc4d79c3e9ab1dcfefa81abd4}
\hypertarget{_algebra_8cpp_a82bff392cd419d7f246dfaeb5574ea61}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{double}]{s, }
\item[{const {\bf Vector3\-D} \&}]{v}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a82bff392cd419d7f246dfaeb5574ea61}
\hypertarget{_algebra_8cpp_a490c25226403a8aa8c62a29504454fd5}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector\-N\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{double}]{s, }
\item[{const {\bf Vector\-N\-D} \&}]{v}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a490c25226403a8aa8c62a29504454fd5}
\hypertarget{_algebra_8cpp_a73470dc0e3796ec642f4767bcdd847c6}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Matrix2x2} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix2x2} \&}]{a, }
\item[{const {\bf Matrix2x2} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a73470dc0e3796ec642f4767bcdd847c6}
\hypertarget{_algebra_8cpp_a8d9716d4d0eb7a3f4d9d5ba84552372e}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector2\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix2x2} \&}]{a, }
\item[{const {\bf Vector2\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a8d9716d4d0eb7a3f4d9d5ba84552372e}
\hypertarget{_algebra_8cpp_ac5f5320b246b6fd073afce2e66f3e9a3}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Matrix3x3} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix3x3} \&}]{a, }
\item[{const {\bf Matrix3x3} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_ac5f5320b246b6fd073afce2e66f3e9a3}
\hypertarget{_algebra_8cpp_ab164aa4da4ac121cb11231416ebd00b9}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix3x3} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_ab164aa4da4ac121cb11231416ebd00b9}
\hypertarget{_algebra_8cpp_a66bdaf4d1439d9f4423fc4f620cfb494}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector\-N\-D} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf Matrix\-Mx\-N} \&}]{a, }
\item[{const {\bf Vector\-N\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a66bdaf4d1439d9f4423fc4f620cfb494}
\hypertarget{_algebra_8cpp_a09c94e7fa49cf14ab5dbba439be8d9a0}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Matrix\-Mx\-N} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{double}]{s, }
\item[{const {\bf Matrix\-Mx\-N} \&}]{A}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a09c94e7fa49cf14ab5dbba439be8d9a0}
\hypertarget{_algebra_8cpp_aa025c19d4e3859ac5cdcdf7301fb31b0}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator+@{operator+}}
\index{operator+@{operator+}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector2\-D} operator+ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector2\-D} \&}]{a, }
\item[{const {\bf Vector2\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_aa025c19d4e3859ac5cdcdf7301fb31b0}
\hypertarget{_algebra_8cpp_a39bfe21a2d1ab6984ded35b5355b202e}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator+@{operator+}}
\index{operator+@{operator+}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} operator+ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a39bfe21a2d1ab6984ded35b5355b202e}
\hypertarget{_algebra_8cpp_a40ee5b96e650d2dd80c30bd8be09238c}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator+@{operator+}}
\index{operator+@{operator+}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector\-N\-D} operator+ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\-N\-D} \&}]{a, }
\item[{const {\bf Vector\-N\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a40ee5b96e650d2dd80c30bd8be09238c}
\hypertarget{_algebra_8cpp_ac638052636e6afad1ec34e1bc40610bd}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector2\-D} operator-\/ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector2\-D} \&}]{a, }
\item[{const {\bf Vector2\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_ac638052636e6afad1ec34e1bc40610bd}
\hypertarget{_algebra_8cpp_a7ee82807781e470db564c4db6e9de245}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector3\-D} operator-\/ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector3\-D} \&}]{a, }
\item[{const {\bf Vector3\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_a7ee82807781e470db564c4db6e9de245}
\hypertarget{_algebra_8cpp_add99f25ed7d4a24a997980bba67ddb1c}{\index{Algebra.\-cpp@{Algebra.\-cpp}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Algebra.cpp@{Algebra.\-cpp}}
\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vector\-N\-D} operator-\/ (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\-N\-D} \&}]{a, }
\item[{const {\bf Vector\-N\-D} \&}]{b}
\end{DoxyParamCaption}
)}}\label{_algebra_8cpp_add99f25ed7d4a24a997980bba67ddb1c}
